using System;
using UnityEngine;
using UnityEngine.EventSystems;

public class EventTriggerListener : EventTrigger
{
	public Action<GameObject, PointerEventData> onBeginDrag;

	public Action<GameObject, BaseEventData> onCancel;

	public Action<GameObject, BaseEventData> onDeselect;

	public Action<GameObject, PointerEventData> onDrag;

	public Action<GameObject, PointerEventData> onDrop;

	public Action<GameObject, PointerEventData> onEndDrag;

	public Action<GameObject, PointerEventData> onInitializePotentialDrag;

	public Action<GameObject, AxisEventData> onMove;

	public Action<GameObject, PointerEventData> onPointerClick;

	public Action<GameObject, PointerEventData> onPointerDown;

	public Action<GameObject, PointerEventData> onPointerEnter;

	public Action<GameObject, PointerEventData> onPointerExit;

	public Action<GameObject, PointerEventData> onPointerUp;

	public Action<GameObject, PointerEventData> onScroll;

	public Action<GameObject, BaseEventData> onSelect;

	public Action<GameObject, BaseEventData> onSubmit;

	public Action<GameObject, BaseEventData> onUpdateSelected;

	public static EventTriggerListener Get(GameObject o)
	{
		EventTriggerListener eventTriggerListener = o.GetComponent<EventTriggerListener>();
		if (!eventTriggerListener)
		{
			eventTriggerListener = o.AddComponent<EventTriggerListener>();
		}
		return eventTriggerListener;
	}

	public override void OnBeginDrag(PointerEventData eventData)
	{
		if (onBeginDrag != null)
		{
			onBeginDrag(base.gameObject, eventData);
		}
	}

	public override void OnCancel(BaseEventData eventData)
	{
		if (onCancel != null)
		{
			onCancel(base.gameObject, eventData);
		}
	}

	public override void OnDeselect(BaseEventData eventData)
	{
		if (onDeselect != null)
		{
			onDeselect(base.gameObject, eventData);
		}
	}

	public override void OnDrag(PointerEventData eventData)
	{
		if (onDrag != null)
		{
			onDrag(base.gameObject, eventData);
		}
	}

	public override void OnDrop(PointerEventData eventData)
	{
		if (onDrop != null)
		{
			onDrop(base.gameObject, eventData);
		}
	}

	public override void OnEndDrag(PointerEventData eventData)
	{
		if (onEndDrag != null)
		{
			onEndDrag(base.gameObject, eventData);
		}
	}

	public override void OnInitializePotentialDrag(PointerEventData eventData)
	{
		if (onInitializePotentialDrag != null)
		{
			onInitializePotentialDrag(base.gameObject, eventData);
		}
	}

	public override void OnMove(AxisEventData eventData)
	{
		if (onMove != null)
		{
			onMove(base.gameObject, eventData);
		}
	}

	public override void OnPointerClick(PointerEventData eventData)
	{
		if (onPointerClick != null)
		{
			onPointerClick(base.gameObject, eventData);
		}
	}

	public override void OnPointerDown(PointerEventData eventData)
	{
		if (onPointerDown != null)
		{
			onPointerDown(base.gameObject, eventData);
		}
	}

	public override void OnPointerEnter(PointerEventData eventData)
	{
		if (onPointerEnter != null)
		{
			onPointerEnter(base.gameObject, eventData);
		}
	}

	public override void OnPointerExit(PointerEventData eventData)
	{
		if (onPointerExit != null)
		{
			onPointerExit(base.gameObject, eventData);
		}
	}

	public override void OnPointerUp(PointerEventData eventData)
	{
		if (onPointerUp != null)
		{
			onPointerUp(base.gameObject, eventData);
		}
	}

	public override void OnScroll(PointerEventData eventData)
	{
		if (onScroll != null)
		{
			onScroll(base.gameObject, eventData);
		}
	}

	public override void OnSelect(BaseEventData eventData)
	{
		if (onSelect != null)
		{
			onSelect(base.gameObject, eventData);
		}
	}

	public override void OnSubmit(BaseEventData eventData)
	{
		if (onSubmit != null)
		{
			onSubmit(base.gameObject, eventData);
		}
	}

	public override void OnUpdateSelected(BaseEventData eventData)
	{
		if (onUpdateSelected != null)
		{
			onUpdateSelected(base.gameObject, eventData);
		}
	}
}
